From: Ian Campbell Date: Tue, 24 May 2011 17:26:47 +0000 (+0100) Subject: libxl: fixup error handling in libxl__build_hvm. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~10299 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success//%22http:/www.example.com/cgi/success/?a=commitdiff_plain;h=e15103060dd7b08f9105b8734baa30eb8a1e40f4;p=xen.git libxl: fixup error handling in libxl__build_hvm. We first pointless initialise rc and immediately overwrite the value, then fail to return it on error anyway... Signed-off-by: Ian Campbell Acked-by: Ian Jackson Committed-by: Ian Jackson --- diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c index a51e06d5ae..d515145245 100644 --- a/tools/libxl/libxl_dom.c +++ b/tools/libxl/libxl_dom.c @@ -284,15 +284,17 @@ int libxl__build_hvm(libxl__gc *gc, uint32_t domid, libxl__domain_build_state *state) { libxl_ctx *ctx = libxl__gc_owner(gc); - int ret, rc = ERROR_INVAL; + int ret, rc = ERROR_FAIL; + const char *firmware = libxl__domain_firmware(gc, info, dm_info); - rc = ERROR_FAIL; + if (!firmware) + goto out; ret = xc_hvm_build_target_mem( ctx->xch, domid, (info->max_memkb - info->video_memkb) / 1024, (info->target_memkb - info->video_memkb) / 1024, - libxl__domain_firmware(gc, info, dm_info)); + firmware); if (ret) { LIBXL__LOG_ERRNOVAL(ctx, LIBXL__LOG_ERROR, ret, "hvm building failed"); goto out; @@ -305,7 +307,7 @@ int libxl__build_hvm(libxl__gc *gc, uint32_t domid, } rc = 0; out: - return 0; + return rc; } int libxl__domain_restore_common(libxl__gc *gc, uint32_t domid,